<?
session_id($_GET['id']);
setcookie(PHPSESSID, $_GET['id']);
require_once(SAS_PATH . "_includes/func_frete.php");

if (basename($_SERVER['PHP_SELF']) != "c.php") {
    header("Location: " . BASE_URL . "c.php?c=compra&act=cesta&id=" . session_id());
    exit;
}

if ($_POST['form_enviado'] == 1) {
    require_once(SAS_PATH . "_includes/form_validacao.php");

    $form_input['cd_forma_pagamento'][] = array(
        "label" => "Forma Pagamento",
        "obrig" => 1);

    $form_input['cd_forma_pagamento_opcao'][] = array(
        "label" => "Opção de Pagamento",
        "obrig" => 1);

    if (form_valida($form_input)) {
        sessao_set("cd_forma_pagamento", $cd_forma_pagamento);
        sessao_set("cd_forma_pagamento_opcao", $cd_forma_pagamento_opcao);

        session_write_close();
        header("Location: c.php?c=compra&act=confirmacao&id=" . session_id());
        exit;
    }    
} else {
    $cd_forma_pagamento = sessao_get("cd_forma_pagamento");
    $cd_forma_pagamento_opcao = sessao_get("cd_forma_pagamento_opcao");
}

$cd_tipo_entrega = sessao_get("cd_tipo_entrega");
$ic_entrega_correio = sessao_get("ic_entrega_correio");
$vl_frete = sessao_get("vl_frete");
$dc_nome_e = sessao_get("dc_nome_e");
$dc_endereco_e = sessao_get("dc_endereco_e");
$dc_complemento_e = sessao_get("dc_complemento_e");
$dc_bairro_e = sessao_get("dc_bairro_e");
$nu_cep_e = sessao_get("nu_cep_e");
$cd_municipio_e = sessao_get("cd_municipio_e");

//VALOR DA CESTA E PRODUTOS COM PROMOÇÃO SEM JUROS
$sql = "SELECT
            SUM(b.qtd_produto*vl_preco_promocional) as valor_cesta, COUNT(*) as total_produtos_cesta, COUNT(ic_promocao_sem_juros) as total_produtos_cesta_sem_juros, MIN(nu_parcelas_sem_juros) as nu_min_parcelas_sem_juros_cesta
        FROM
            " . SQL_PRODUTOS_SITE . " a
            INNER JOIN cesta_item b ON a.cd_produto = b.cd_produto and b.id_sessao = '" . session_id() . "'";
$result = db_query($sql);
list($vl_cesta, $total_produtos_cesta, $total_produtos_cesta_sem_juros, $nu_min_parcelas_sem_juros_cesta) = mysql_fetch_array($result);

if ($total_produtos_cesta != $total_produtos_cesta_sem_juros) {
    $nu_min_parcelas_sem_juros_cesta = 0;
}

// DADOS DE ENTREGA
if ($cd_municipio_e == "" || $cd_tipo_entrega == "" || $nu_cep_e == "") {
    $erro = 1;
    $msg_pedido = "Os dados expiraram. Favor escolher os produtos novamente para efetuar a compra.";
} else {
    if ($ic_entrega_correio == "0") {
        $dados_frete = frete_lista_proprio($nu_cep_e);
    } else {
        $dados_frete = frete_lista_correio($nu_cep_e);
    }

    $dados_frete = $dados_frete[$cd_tipo_entrega];

    if (empty($dados_frete)) {
        $erro = 1;
        $msg_pedido = "Não foi possível recuperar os dados de entrega.<br />Por favor, retorne ao passo 3 e selecione a forma de entrega.";
    } else {
        $dc_tipo_entrega = $dados_frete["dc_tipo_entrega"];
        $cd_tipo_entrega = $dados_frete["cd_tipo_entrega"];
        //$vl_frete 			= $dados_frete["vl_frete"];
        $vl_prazo_entrega = $dados_frete["vl_prazo_entrega"];
        $cd_entrega_tipo_municipio = $dados_frete["cd_entrega_tipo_municipio"];

        if (($ic_entrega_correio == "0") && ($vl_frete != 0)) {
            $vl_custofixo_frete = $dados_frete["vl_custofixo_frete"];
            $vl_custopercentual_frete = $dados_frete["vl_custopercentual_frete"];
        } else {
            $vl_custofixo_frete = $vl_frete;
            $vl_custopercentual_frete = 0;
        }

        //******************************************
        // 		SQL FRETE GRATUITO			********
        //******************************************
        $sql = "SELECT
							Count(*) as TotalSemFreteGratuito
						FROM
							" . SQL_PRODUTOS_SITE . " a
							INNER JOIN cesta_item b
								ON a.cd_produto = b.cd_produto and b.id_sessao = '" . session_id() . "'
						WHERE
							a.cd_produto IN (
								SELECT cd_produto from cesta_item WHERE id_sessao = '" . session_id() . "'
							)
							AND a.ic_promocao_frete_gratuito is null
							OR a.ic_promocao_frete_gratuito = '0'";
        $result = db_query($sql);
        list($TotalSemFreteGratuito) = mysql_fetch_array($result);

        //**********************************
        // FRETE GRATUITO
        //**********************************
        if ($TotalSemFreteGratuito == 0 && $cd_tipo_entrega == 9991 && $ic_entrega_correio == 1) {
            $vl_custofixo_frete = 0;
            $vl_custopercentual_frete = 0;
            $vl_frete = 0;
        }

        //VALOR TOTAL DO PEDIDO
        if (isset($_SESSION['cupomValorCesta']) && strlen($_SESSION['cupomValorCesta']) > 0) {
            $vl_cesta = $_SESSION['cupomValorCesta'];
        }
        if (isset($_SESSION['cupomFreteGratis']) && $_SESSION['cupomFreteGratis'] === true) {
            $vl_frete = 0;
        }
        $vl_pedido = $vl_cesta + $vl_frete;
    }
}

if ($vl_pedido) {
    // FORMAS DE PAGAMENTOS
    $sql = "
		SELECT
			cd_forma_pagamento,
			dc_forma_pagamento,
			cd_forma_pagamento_opcao,
			vl_qtd_parcela,
			vl_parcela,
			vl_custo_adicional,
			ic_custo_adicional
		FROM
		(
			SELECT
				b.cd_forma_pagamento,
				b.dc_forma_pagamento,
				a.cd_forma_pagamento_opcao,
				vl_qtd_parcela,
				ROUND((" . $vl_pedido . " / vl_qtd_parcela), 2) as vl_parcela,
				0 as vl_custo_adicional,
				0 as ic_custo_adicional
			FROM
				forma_pagamento_opcao a
			INNER JOIN
				forma_pagamento b ON a.cd_forma_pagamento = b.cd_forma_pagamento
			WHERE
				a.ic_disponibilidade = '1'
				AND vl_qtd_parcela <= " . $nu_min_parcelas_sem_juros_cesta . "
				AND a.cd_forma_pagamento != 1

			UNION

			SELECT
				b.cd_forma_pagamento,
				b.dc_forma_pagamento,
				a.cd_forma_pagamento_opcao,
				vl_qtd_parcela,
				ROUND(((" . $vl_pedido . " / (1-ic_cobra_custo_percentual*(vl_custo_percentual_transacao/100)) + (vl_custo_fixo_transacao*ic_cobra_custo_fixo)) / vl_qtd_parcela), 2) as vl_parcela,
				(vl_custo_fixo_transacao + vl_custo_percentual_transacao * " . $vl_pedido . ") as vl_custo_adicional,
				(ic_cobra_custo_percentual+ic_cobra_custo_fixo) as ic_custo_adicional
			FROM
				forma_pagamento_opcao a
			INNER JOIN
				forma_pagamento b ON a.cd_forma_pagamento = b.cd_forma_pagamento
			WHERE
				a.ic_disponibilidade = '1'
				AND vl_qtd_parcela > " . $nu_min_parcelas_sem_juros_cesta . "
				OR (vl_qtd_parcela = 1 AND a.cd_forma_pagamento = 1)
		) as parcelas
		WHERE
			(
				(ROUND((" . $vl_pedido . " / vl_qtd_parcela), 2) >= 5 AND vl_qtd_parcela > 1) OR
				(vl_qtd_parcela = 1)
			)
		ORDER BY
			cd_forma_pagamento DESC, vl_qtd_parcela
	";
    $lst_pagamento = db_query($sql);

    while ($lst = @mysql_fetch_array($lst_pagamento)) {
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['cd_forma_pagamento'] = $lst['cd_forma_pagamento'];
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['cd_forma_pagamento_opcao'] = $lst['cd_forma_pagamento_opcao'];
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['vl_qtd_parcela'] = $lst['vl_qtd_parcela'];
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['vl_custo_adicional'] = $lst['vl_custo_adicional'];
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['vl_parcela'] = $lst['vl_parcela'];
        $forma_pagamento[$lst['dc_forma_pagamento']][$lst['cd_forma_pagamento_opcao']]['ic_custo_adicional'] = $lst['ic_custo_adicional'];
    }

    function cmp($a, $b) {
        if ($a["vl_qtd_parcela"] == $b["vl_qtd_parcela"]) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    }

}
?>

<?php 
    if ($_POST['form_enviado'] == 1){
        form_result();
    }
?>

<?php if ($erro == 0): ?>
<p class="marginTop marginLeft">Selecione abaixo a forma de pagamento que deseja utilizar nesta compra:</p>
<form id="formPagamento" name="form1" method="post" action="">
<div class="contentPagamento">
    <?php foreach($forma_pagamento as $forma => $forma_opcoes): ?>
        <?php              
        
            switch($forma){
                case "Boleto Bancário":
                    //$onclick = $opcao_valor['cd_forma_pagamento_opcao'].",".$opcao_valor['cd_forma_pagamento'];
                    $imagem = "boleto";
                    //$valorExibido = func_num_bd2br(round(($vl_cesta * 0.85),2) + $vl_frete);
                    break;
                case 'Cartão de Crédito - VISA':
                    //$onclick = $opcao_valor['cd_forma_pagamento'];
                    $imagem = "cartao-visa";
                    //$valorExibido = func_num_bd2br($opcao_valor['vl_parcela']);
                    break;
                case 'Cartão de Crédito - MasterCard':
                    //$onclick = $opcao_valor['cd_forma_pagamento'];
                    $imagem = "cartao-master";
                    //$valorExibido = func_num_bd2br($opcao_valor['vl_parcela']);
                    break;
                case "Depósito em Conta":
                    //$onclick = $opcao_valor['cd_forma_pagamento'];
                    $imagem = "deposito";
                    //$valorExibido = func_num_bd2br(round(($vl_cesta * 0.85),2) + $vl_frete);
                    break;   
                default:
                    //die($forma);
                    //echo utf8_encode($forma);
                    break;
            }
        ?>   
        
        <div class="formaPagamento">
        <img src="_images/cesta/<?php echo $imagem; ?>.png" alt="<?php echo $forma; ?>" />
        <?php foreach($forma_opcoes as $opcao => $opcao_valor): ?>
            <?php 
            switch($forma){
                case "Boleto Bancário":
                    $onclick = $opcao_valor['cd_forma_pagamento_opcao'].",".$opcao_valor['cd_forma_pagamento'];                    
                    $valorExibido = func_num_bd2br(round(($vl_cesta * 0.85),2) + $vl_frete);
                    break;
                case 'Cartão de Crédito - VISA':
                    $onclick = $opcao_valor['cd_forma_pagamento'];                    
                    $valorExibido = func_num_bd2br($opcao_valor['vl_parcela']);
                    break;
                case 'Cartão de Crédito - MasterCard':
                    $onclick = $opcao_valor['cd_forma_pagamento'];                    
                    $valorExibido = func_num_bd2br($opcao_valor['vl_parcela']);
                    break;
                case "Depósito em Conta":
                    $onclick = $opcao_valor['cd_forma_pagamento'];                    
                    $valorExibido = func_num_bd2br(round(($vl_cesta * 0.85),2) + $vl_frete);
                    break;                   
            }
            ?>
        
            <input  id="radio" name="cd_forma_pagamento_opcao" type="radio" value="<?=$opcao_valor['cd_forma_pagamento_opcao']?>" <?=($opcao_valor['cd_forma_pagamento_opcao'] == $cd_forma_pagamento_opcao)? "checked" : "" ?> onclick="verificar(<?php echo $onclick; ?>);" />
            <p>
                <?=$opcao_valor['vl_qtd_parcela']?> x R$ <?php echo $valorExibido; ?> 
                <?php
                    if ($opcao_valor['ic_custo_adicional'] == '0') {
                        echo " sem juros";
                    }
                ?>
            </p>         
                
            
        <?php endforeach; ?>   
        </div>
    <?php endforeach; ?>       

    <div class="clear"><br/></div>   
    
    <input name="cd_forma_pagamento" type="hidden" id="cd_forma_pagamento" value="<?=$cd_forma_pagamento?>" />
    <input name="form_enviado" type="hidden" id="form_enviado" value="1" />
    <a href="c.php?c=compra&act=entrega&id=<?=session_id()?>"><input type="button" value="" class="voltar"  /></a>
    <input class="identificar" type="submit" value="" />    

    <div class="clear"></div>
</div>    
</form>    

<script type="text/javascript" language="javascript">
    function verificar(cd_forma_pagamento,cd_forma_pagamento_opcao){
        document.form1.cd_forma_pagamento.value = cd_forma_pagamento;
    }
    <?=($cd_forma_pagamento_opcao ? "verificar($cd_forma_pagamento_opcao);" : "")?>
</script>

<?php else: ?>
    <p class="marginTop marginLeft"><?php echo $msg_pedido; ?></p>
<?php endif; ?>